webpack - tree shaking

移除 JavaScript 上下文中的未引用代码,减少代码体积

前提:

  • 必须使用ES6模块化;
  • 开启prodution环境;

注意:

任何导入的文件都会收到tree shaking的影响,所以一些导入时会执行特殊行为的代码,它们不是仅仅暴露一个export或多个export。

比如polyfill,就会被tree shaking给删除。

另外,css文件,也会因为这种原因被tree shaking删除。

为了避免这种无意的删除,就需要在package.json中对sideEffects选项进行设置:

  "sideEffects": [
    "@babel/polyfill",
    "*.css"
  ]

如果sideEffects的值为false,那么代码都没有副作用,都可以进行tree shaking

本章结束!

results matching ""

    No results matching ""